﻿using System;
using System.Collections;
using System.Collections.Generic;
using Meqs.Entity;

namespace Meqs.Logic.Interface
{
    public interface ISchoolInfoLogic : ICommonLogic<SchoolInfo, int>
    {
        /// <summary>
        /// 查询学校及关联信息
        /// </summary>
        /// <returns></returns>
        IList<VSchoolInfo> FindVSchoolInfo();

        /// <summary>
        /// 查询学校及关联信息
        /// </summary>
        /// <param name="ht"></param>
        /// <returns></returns>
        IList<VSchoolInfo> FindVSchoolInfo(Hashtable ht);

        /// <summary>
        /// 学年升级
        /// </summary>
        /// <param name="ht"></param>
        /// <returns></returns>
        int YearUpgrade(Hashtable ht);


        ///// <summary>
        ///// 获取定性分析的学校
        ///// </summary>
        ///// <returns></returns>
        //IList<SchoolInfo> SelectGradeKindSchool();

        ///// <summary>
        ///// 获取成绩分布定义的学校
        ///// </summary>
        ///// <returns></returns>
        //IList<SchoolInfo> SelectGradeDistributionSchool();

        ///// <summary>
        ///// 获取分数段的学校
        ///// </summary>
        ///// <returns></returns>
        //IList<SchoolInfo> SelectGradeSectionsettingsSchool();

        // /// <summary>
        ///// 获取统考分数线的学校
        ///// </summary>
        ///// <returns></returns>
        //IList<SchoolInfo> SelectScorepointGradeSchool();

        /// <summary>
        /// 获取局级考试对应的学校
        /// </summary>
        /// <returns></returns>
        IList<SchoolInfo> SelectSchoolByExam(int examId ,int areaid);

        /// <summary>
        /// 验证学校信息是否已设置
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        bool CheckSchoolInfoInitState(string schoolMark);

        /// <summary>
        /// 更新学校信息，插入学年学期信息
        /// </summary>
        /// <param name="schoolName"></param>
        /// <param name="year"></param>
        /// <param name="term"></param>
        /// <param name="opt"></param>
        void UpdateSchool(string schoolName, int year, int term, int opt, String schoolMark, String startDate, String endDate);

        /// <summary>
        /// 获取学校信息
        /// </summary>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        SchoolInfo FindBySchoolMark(string schoolMark);
    }
}